package com.kxmall.huishou.domain.bo;

import com.kxmall.common.core.domain.BaseEntity;
import com.kxmall.common.core.validate.AddGroup;
import com.kxmall.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;

/**
 * 定期回收信息业务对象 hs_regular_recovery
 *
 * @author kxmall
 * @date 2023-11-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class HsRegularRecoveryBo extends BaseEntity {

    /**
     * 
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 用户id
     */
    @NotBlank(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userId;

    /**
     * 定期类型0每天，1每周，2每月
     */
    @NotNull(message = "定期类型0每天，1每周，2每月不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long regularType;

    /**
     * 分类id
     */
    @NotNull(message = "分类id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long categorizeId;

    /**
     * 分类名
     */
    @NotBlank(message = "分类名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String categorizeName;

    /**
     * 1-7,1代表周一
     */
    @NotNull(message = "1-7,1代表周一不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long weekDay;

    /**
     * 1-31,1代表每月1号
     */
    @NotNull(message = "1-31,1代表每月1号不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long dateNum;

    /**
     * 预约开始时间，HH:mm:ss
     */
    @NotBlank(message = "预约开始时间，HH:mm:ss不能为空", groups = { AddGroup.class, EditGroup.class })
    private String startTime;

    /**
     * 预约结束时间，HH:mm:ss
     */
    @NotBlank(message = "预约结束时间，HH:mm:ss不能为空", groups = { AddGroup.class, EditGroup.class })
    private String endTime;

    /**
     * 重量
     */
    @NotNull(message = "重量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal expectWeightTal;

    /**
     * 金额
     */
    @NotNull(message = "金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal expectAmountTal;

    /**
     * 0正常开启，1关闭
     */
    @NotNull(message = "0正常开启，1关闭不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;

    /**
     * 支付图片
     */
    @NotBlank(message = "支付图片不能为空", groups = { AddGroup.class, EditGroup.class })
    private String imgUrl;


}
